# pip install opencv-python # cv2
import tkinter as tk
import cv2
import PIL
def callback_function():
    """Функция, которая будет вызвана при нажатии на кнопку."""
    print("Кнопка была нажата!")


def show_frame():
    global cap
    global canvas
    # Делаем снимок
    ret, frame = cap.read()
   # cv2.imshow('frame', frame)

windowMain = tk.Tk()  # Создаем экземпляр класса Tk
windowMain.title("FaceTok")  # Задаем заголовок окна
windowMain.geometry("800x800")  # Размер окна

container = tk.Frame(windowMain, padx = 10, pady = 10) # Создаем фрейм для окна
container.pack(expand=True) # Располагаем фрейм в окне

lbl = tk.Label(container, text="Видео с камеры", font=("Arial", 14), fg="grey")  # Создаем заголовок текст для видео
lbl.grid(column=0, row=0)   # Располагаем заголовок в окне, row=0)# создание заголовка

canvas = tk.Canvas(container, width=640, height=480, bg="blue")  # Создаем канву для отрисовки
canvas.grid(column=0, row=1)  # Располагаем канву в окне

cap = cv2.VideoCapture(0)# Загружаем видео
frame = cap.read()[1]
print("Frame: ",  frame)
image = tk.PhotoImage(file="examle.png")
print("Image: ", image)
canvas.create_image(0, 0, image=image, anchor=tk.NW)

btn = tk.Button(container, text="Обновить", command=show_frame)  # Создаем кнопку
btn.grid(column=4, row=4)  # Располагаем кнопку в окне
button = tk.Button(container, text="Нажми меня", command=callback_function)  # Создаем кнопку
button.grid(column=2, row=5)  # Располагаем кнопку в окне

cap = cv2.VideoCapture(0)# Загружаем видео

if cap.isOpened():  # Проверяем, открылась ли камера
    show_frame()
else:
    print("Не удалось открыть камеру")
windowMain.mainloop()  # Запускаем главный цикл обработки событий
cap.release()  # Закрываем камеру